The present invention relates generally to an interface between an operator and a machine. It relates more specifically to the field of such interfaces which present a signal to a human operator in contact with the interface. The invention relates most specifically to an interface that presents or exhibits a force signal to an operator, such as a human, or receives a force signal from such an operator. Because a force signal is by definition bi-directional, it can be said that the interface and the user "exchange" a force signal, or "share" it with each other.
Machines are ubiquitous in modern life, and every machine must be controlled, either directly or indirectly by a human operator. The interface through which the operator controls the machine and receives information from the machine should be as easy to use as possible, in light of the functionality the machine provides. Examples of such machines include slave robotic machines that operate in an environment different from that in which the operator exists. Other machines include machine tools for shaping materials, vehicles and powered machinery. Computers are also machines, which manipulate data representing, among other things, text (word processors); numbers (spread sheets); records (data bases); geometrical constructs (drawing and painting programs), etc.
The user may control and otherwise interact with such machines through various devices, such as a lever, joystick, mouse (having buttons and a tracking mechanism), exoskeleton, keyboard, touch screen, digitized pad or tablet, head mouse, etc. Typically, the user manipulates a "master" input device in the user's local environment and the "slave" robot, typically in a different environment, moves in accordance to the user's manipulations. The configuration of the master device may or may not conform to some degree to the conformation of the slave device.
For a rigid body, such as a rod-like appendage of a machine, the number of freedoms necessary to unambiguously specify its relation to a reference frame is typically considered to be six. Conceptually, three freedoms specify the location of a point on the rigid body, relative to the reference frame, and three additional freedoms specify the orientation of the rigid body relative to the same, or an equivalent reference frame.
Components on master devices typically are provided with numerous degrees of freedom of motion to permit varied motions by the user. The number of such degrees can be from one to six or more. These numerous freedoms are facilitated by numerous joints and actuators. Thus, a master arm may have a hand portion, with several fingers, each with several joints. The hand may be joined through a wrist joint to a forearm section, joined through an elbow joint to an upper arm section, joined through a shoulder joint to a trunk. Considering the joint of a finger most distant from the trunk, it's state relative to a reference frame can be specified by six freedoms, three for its position and three for its orientation.
However, the entire arm assembly may have many more than these six freedoms, due to the numerous joints and their various flexibilities. There may be several conformations of the other elements of the arm that place the terminal finger digit in the same state. Many, or all of the actuators that drive the arm may contribute to establishing the state of a single freedom, such as the location along one axis. Thus, the entire arm itself has many freedoms, more than six. However, only six freedoms of motion are required to specify the state of any rigid body portion of the arm.
Certain of such master and slave machine systems, known as force reflecting systems, provide actuators such that motions of the master component through the various degrees of freedom are affected or constrained to some extent. Typically, the motions are affected based on conditions in the environment of the slave robotic machine, such as forces that the slave encounters. Thus, the user, grasping or otherwise contacting the master machine, experiences constraints on the freedoms of motion that relate in some way to the slave environment, and thus, receives a force feedback signal. A teleoperator is such a device.
In certain instances, it is desirable for the user to feel the forces as if the user were contacting the slave environment directly, rather than remotely through the master to slave connection, including intervening stages. A system that accomplishes this is sometimes referred to as a "force reflecting" system. Such a force reflecting interface is also referred to as a "haptic" interface because it relates to the human system of touch. Typical design considerations for such an interface include the fidelity of the position and force or torque feedback, simplicity of structure, minimization of backlash, independence of freedoms of motion, work space conformation, stiffness, responsiveness, sensitivity, minimization of the physical bulkiness of apparatus and the bandwidth of its response. By bandwidth, it is meant, the range of combinations of speed of response and force applied.
In addition to controlling traditional, physical machines, it is known for human operators to control "virtual" machines and environments, which are not physical, but rather are "embodied" or reside in a computer model.
Simple examples abound in connection with common computer tasks. For instance, using a computer drawing or painting program, a user controls a group of virtual geometric objects that can be moved relative to one another, created, destroyed, altered, stretched, etc. Another example is the now familiar "desktop" metaphor for showing a directory of computer files, and for the user to provide instructions with respect to the manipulation (copying, deleting, opening, modifying, etc.) of those files. Within a word-processing program, the user manipulates virtual controls to scroll through different parts of the text of a document, to delete ("cut") certain sections and to add ("paste") them elsewhere. There are many more examples. Basically, such examples include anything where a user affects representations of data elements, as represented by the computer interface.
More complicated examples include those in which a more realistic environment is created, such as by using more sophisticated visual renditions of objects and settings, and projection devices such as helmets and special eyeglasses.
A user may interact with the virtual environment by means of various physical input devices, such as have been mentioned above. Sound may also be a part of the interface.
The virtual, or artificial environments may also recreate or simulate real environments, and can be used for the practice of skills, such as medical surgery, geological excavation, dangerous cargo manipulation, etc.
The various interactive systems may expand the abilities of humans, by increasing physical strength, improving manual dexterity, augmenting the senses, and by projecting human users into remote and abstract environments, either real or artificial. The remote environments can also be of a scale much larger or much smaller than typical human scales.
Force reflecting systems can be differentiated from other known simulations, such as graphical flight simulators, and remote controls, by the provision of force feedback. To enhance the user's perception of physical interaction with the slave environment, more than visual and auditory cues are required. Touch, is the only one of the five human senses that provides a two way interface with the environment. Using touch, a human can affect the environment while at the same time, perceiving the effect of the contact with the environment. Such direct feedback facilitates the user's perception of presence or influence in the slave environment. In effect, with touch, a force signal is exchanged or shared between the user and the machine, just an equal and opposite forces are shared by two people holding hands.
The purpose of the force reflecting master is to give a user the sense that the user is touching an object that is not actually in the local environment. The object, referred to below as a "non-local" object, can be a real object being manipulated by a physical slave machine, or it can be a representation in an environment that exists only as a computer data model.
For an ideal haptic interface, the user would not realize that he was touching an interface separate from the environment to be manipulated. Specifically, a user would not be able to distinguish between touching a real object and touching a virtual object with the device. Further, the device would not encumber the user. The ideal interface would exert no external force on the user when the user is moving freely in space.
Hard surfaces, such as walls, should feel as stiff with the device as they do in real life, even when contacted at high velocity. Corners of solid objects should feel crisp. Compliant surfaces should feel springy.
Some known attempts at constructing force reflecting interfaces have used an "exoskeleton." An exoskeleton is worn by the user and can often exert forces at several locations along the arms and/or fingers. See generally, B. A. Marcus, B. An, and B. Eberman, "EXOS Research on Master Controllers for Robotic Devices," FIFTH ANNUAL WORKSHOP ON SPACE OPERATIONS APPLICATIONS AND RESEARCH (SOAR '91) pp. 238-245, July 1991. There are many constraints in the design of an exoskeleton device, because the structure must attach to several locations on the human body and the exoskeleton joints must effectively be co-located with human joints. Counterbalancing such structures, and designing stiff, uncoupled transmissions for them is difficult. The structures must be counterbalanced so that the user does not perceive them as an artificial construct of the feedback system. The transmissions must be stiff so that there is a feeling of direct contact with the non-local environment.
Another type of force reflecting interface uses an externally grounded joystick. Typical of these devices are the traditional "hot-cell" manipulator systems and force reflecting hand controller.
Thus the several objects of the invention include, to enable human interaction with a non-local environment, either physical or computer represented, with a high degree of realism. It is an object to facilitate a high fidelity position and torque or force feedback, so that the user has an accurate perception of the conditions in the non-local environment. The user interface should be transparent to the user and as unobtrusive as possible. Implicit in this object is to minimize system backlash. It is further an object to provide such an interface that permits user action over a physically appropriate size of workspace, without necessitating a bulky or overly complicated apparatus. It is also an object to provide a device that responds quickly enough to conditions in the non-local environment for a realistic simulation, and which displays appropriate stiffness and sensitivity, as well as a relatively large response bandwidth, so that relatively quick motions can be perceived and imparted by the user. It is also an object of the invention to display discontinuous events, such as impact.